Types used in librdd
These data types are used in the librdd module.
rddReportPrintElementInfo
TYPE rddReportPrintElementInfo RECORD
unionType CHAR(1), #v=variable, e=expression, l=literal
value STRING, #the value in case of type 'l'
variableName STRING, #the variable name case of type 'v'
variableType STRING #the variable or expression type in case of type 'v'
END RECORDrddReportPrintInfo
TYPE rddReportPrintInfo RECORD
controlPath DYNAMIC ARRAY OF rddTree, # Path into tree, e.g.
# REPORT/ON EVERY ROW/IF/THEN/FOR,
# REPORT/ON EVERY ROW/IF/ELSE/FOR
printxName STRING,
printElements DYNAMIC ARRAY OF rddReportPrintElementInfo
END RECORD
rddReportSectionInfo
TYPE rddReportSectionInfo RECORD
name STRING, # FIRST PAGE HEADER, BEFORE GROUP customer_id, ON EVERY ROW, ...
reportPrints DYNAMIC ARRAY OF rddReportPrintInfo
END RECORD
rddReportInfo
TYPE rddReportInfo RECORD
reportName STRING,
reportSections DYNAMIC ARRAY OF rddReportSectionInfo
END RECORD
rddTree
TYPE rddTree RECORD
firstLine INTEGER,
lastLine INTEGER,
type CHAR(1), # l: loop: FOR, FOREACH, WHILE
# c: conditional: CASE, IF, OTHERWHISE, WHEN
# i: interaction: MENU, {DISPLAY|INPUT} ARRAY, INPUT, PROMPT,
# ON {KEY|ACTION}, {BEFORE|AFTER} ..
# d: declaration: GLOBALS, DEFINE, RECORD
# o: other statements: TRY, CATCH
# a: trigger in interaction or report
fileId INTEGER, # references rddFiles (rddFile.id=fileId)
fileIdEnd INTEGER, # references rddFiles (rddFile.id=fileIdEnd) =
# the file where the declaration ends
name STRING # for example BEFORE GROUP
END RECORD